package com.bh.kysys.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * organization对象 jc_sys_organization
 *
 * @author slx
 * @date 2023-03-11
 */
@TableName("jc_sys_organization")
@Data
public class JcSysOrganization implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 组织ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 部门ID
     */
    @Excel(name = "部门ID")
    private Long deptId;

    /**
     * 编号
     */
    @Excel(name = "编号")
    private String code;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String createName;

    /**
     * 描述
     */
    @Excel(name = "描述")
    private String description;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    private String modifyName;

    /**
     * 修改时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /**
     * 组织名称
     */
    @Excel(name = "组织名称")
    private String name;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private Integer status;

    /**
     * 坐标
     */
    @Excel(name = "坐标")
    private String latitude;

    /**
     * 级别
     */
    @Excel(name = "级别")
    private String level;

    /**
     * 类型
     */
    @Excel(name = "类型")
    private Integer type;

    /**
     * 父级ID
     */
    @Excel(name = "父级ID")
    private String zid;

    /**
     * 地址
     */
    @Excel(name = "地址")
    private String address;

    /**
     * 承运商是否超期
     */
    @Excel(name = "承运商是否超期")
    private Integer isOverdueCarrier;

    /**
     * 是否能使用超期合同
     */
    @Excel(name = "是否能使用超期合同")
    private Integer isOverdueContract;

    /**
     *
     */
    @Excel(name = "负责人")
    private String principal;

    /**
     * 订单编号序列
     */
    @Excel(name = "订单编号序列")
    private Long orderCode;

    /**
     * 派车编号序列
     */
    @Excel(name = "派车编号序列")
    private Long dispatchCode;

    /**
     * 运单编号序列
     */
    @Excel(name = "运单编号序列")
    private Long shipmentCode;

    /**
     * 任务单编码
     */
    @Excel(name = "任务单编码")
    private Long vehiclePlanCode;

    /**
     * 预录单序列
     */
    @Excel(name = "预录单序列")
    private Long prescoCode;

    /** 创建时间 */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id" , getId())
                .append("deptId" , getDeptId())
                .append("code" , getCode())
                .append("createName" , getCreateName())
                .append("createTime" , getCreateTime())
                .append("description" , getDescription())
                
                .append("modifyName" , getModifyName())
                .append("modifyTime" , getModifyTime())
                .append("name" , getName())
                .append("status" , getStatus())
                .append("latitude" , getLatitude())
                .append("level" , getLevel())
                .append("type" , getType())
                .append("zid" , getZid())
                .append("address" , getAddress())
                .append("isOverdueCarrier" , getIsOverdueCarrier())
                .append("isOverdueContract" , getIsOverdueContract())
                .append("principal" , getPrincipal())
                .append("orderCode" , getOrderCode())
                .append("dispatchCode" , getDispatchCode())
                .append("shipmentCode" , getShipmentCode())
                .append("vehiclePlanCode" , getVehiclePlanCode())
                .append("prescoCode" , getPrescoCode())
                .toString();
    }
}
